#include <stdio.h>

//一只猴子第一天采n个桃子，之后的每一天都吃剩下的桃子的一半多一个。 到第十天剩一个桃子
//第一天采了多少桃子

int Peach(int day)
{
    if(day == 10)  //终止条件
        return 1;

    return (Peach(day + 1) + 1) * 2;  //递归循环体

    // for(int i = 1;i < 10; i++)
    // {
    //     count = (count + 1) * 2;
    // }
}


//青蛙一次能跳一个或两个台阶，跳上n级台阶有多少种方法?

int JumpStep(int n)
{
    if(n == 1)
        return 1;
    if(n == 2)
        return 2;
    return JumpStep(n-1) + JumpStep(n-2);
}

//递归求阶乘    5！=5 * 4 * 3 * 2 * 1;
int func(int n)
{
    if(n == 1)
        return 1;
    // if(n == 2)
    //     return 2;
    // if(n == 3)
    //     return 6;
    return n * func(n-1);
}


//递归求字符串长度
int MyStrlen(const char *s)
{
    if(*s == "\0")
        return 0;
    return 1 + MyStrlen(s + 1);
}

int main()
{
    //printf("%d\n",Peach(1));
    printf("%d\n",func(5));
    return 0;
}